package com.example.designpatterns.state;

/**
 * RefundState类 - 退款状态
 * 
 * 实现与退款状态相关的行为
 */
public class RefundState implements State {
    @Override
    public void pay(Context context) {
        System.out.println("订单 " + context.getOrderNumber() + " 正在退款中，无法支付");
    }
    
    @Override
    public void ship(Context context) {
        System.out.println("订单 " + context.getOrderNumber() + " 正在退款中，无法发货");
    }
    
    @Override
    public void receive(Context context) {
        System.out.println("订单 " + context.getOrderNumber() + " 正在退款中，无法确认收货");
    }
    
    @Override
    public void refund(Context context) {
        System.out.println("订单 " + context.getOrderNumber() + " 正在退款中，请勿重复操作");
    }
    
    @Override
    public void cancel(Context context) {
        System.out.println("订单 " + context.getOrderNumber() + " 退款完成，订单已取消");
        context.setState(new CancelledState());
    }
    
    @Override
    public String getDescription() {
        return "退款中";
    }
} 